;(function(root, factory){
    if (typeof exports === "object") {
        // CommonJS
        module.exports = exports = factory();
    }
    else if (typeof define === "function" && define.amd) {
        // AMD
        define([], factory);
    }
    else {
        // Global (browser)
        root.SDK = factory();
    }
})(this, function(){
    String.prototype.reverse = function(){
        return this.split('').reverse().join('');
    }
    String.prototype.isEmpty = function(){
        return this.length === 0;
    }
    Array.prototype.isEmpty = function(){
        return this.length === 0;
    }
    var sdk = {version: 0};
    sdk.version = "1.0.0";
    sdk.loadClass = function( className ){
        return Java.type("com.jin.webvideo.js.loadClass."  + className);
    }
    sdk.execFunc = function(func, input, config){
        console.log(input);
        var output = func(input, config);
        return JSON.stringify({output: output, config: config});   
    }
    sdk.md5 = require("./md5.js");
    return sdk;
})